Generative Adversarial Networks (GANs) are a class of generative models that are trained using a two-player minimax game.
The two players are a generator and a discriminator.
The generator generates samples from a distribution, and
the discriminator tries to distinguish between real samples from the distribution and fake samples generated by the generator.
The generator is trained to generate samples that are indistinguishable from real samples, while the discriminator is trained to distinguish between real and fake samples.
The two players are trained simultaneously, with the generator trying to fool the discriminator, and the discriminator trying to correctly classify the samples.